// StrukturaStanja.cpp : implementation file
//

#include "stdafx.h"
#include "Nastavitve.h"
#include "StrukturaStanja.h"
//#include ".\strukturastanja.h"

//dodan makro - verzija je zaenkrat 1:
IMPLEMENT_SERIAL (CTemmInit, CObject, 1);
// CStrukturaStanja

CTemmInit::CTemmInit()
{
	int i = 0;

	m_nCasTimerZajemanja = 0;
	m_nCasTimerZivljenja = 0;
	m_nCasTimerGUIZivljenja = 0;
	m_nCOMPort = 0;
	m_nBaudRate = 0;
	m_nTimeOut = 0;
	for(i = 0; i < 255; i++)
	{
		m_nNaslovModula[i] = (U16)(i+1);
	}
	m_fMinTempSenzorja = 0.0f;
	m_fMaxTempSenzorja = 0.0f;
}

CTemmInit::~CTemmInit()
{
}


// CStrukturaStanja member functions

void CTemmInit::Serialize(CArchive& ar)
{
	int i = 0;

	if (ar.IsStoring())
	{	// storing code
		ar << m_nCasTimerZajemanja;
		ar << m_nCasTimerZivljenja;
		ar << m_nCasTimerGUIZivljenja;
		ar << m_nCOMPort;
		ar << m_nBaudRate;
		ar << m_nTimeOut;
		for(i = 0; i < 255; i++)
		{
			ar << m_nNaslovModula[i];
		}
		ar << m_fMinTempSenzorja;
		ar << m_fMaxTempSenzorja;
	}
	else
	{	// loading code
		ar >> m_nCasTimerZajemanja;
		ar >> m_nCasTimerZivljenja;
		ar >> m_nCasTimerGUIZivljenja;
		ar >> m_nCOMPort;
		ar >> m_nBaudRate;
		ar >> m_nTimeOut;
		for(i = 0; i < 255; i++)
		{
			ar >> m_nNaslovModula[i];
		}
		ar >> m_fMinTempSenzorja;
		ar >> m_fMaxTempSenzorja;
	}
}

// CTermInit
IMPLEMENT_SERIAL (CTermInit, CObject, 1);

CTermInit::CTermInit()
{
	m_nCasTimerZivljenja = 0;
	m_nCasTimerGUIZivljenja = 0;
	m_fMaxTempMedija = 0.0f;
	m_fMaxTempStene = 0.0f;
}

CTermInit::~CTermInit()
{
}


// CTermInit member functions

void CTermInit::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{	// storing code
		ar << m_nCasTimerZivljenja;
		ar << m_nCasTimerGUIZivljenja;
		ar << m_fMaxTempMedija;
		ar << m_fMaxTempStene;
	}
	else
	{	// loading code
		ar >> m_nCasTimerZivljenja;
		ar >> m_nCasTimerGUIZivljenja;
		ar >> m_fMaxTempMedija;
		ar >> m_fMaxTempStene;
	}
}


//razred CRecept
IMPLEMENT_SERIAL (CRecept, CObject, 1);

CRecept::CRecept()
{
	m_pTabelaAkcij = NULL;
	m_nVelikostTabele = 0;
	m_nTrenutniIndeks = -1;
}

CRecept::~CRecept()
{
	if(m_pTabelaAkcij != NULL)
	{
		delete [] m_pTabelaAkcij;
		m_pTabelaAkcij = NULL;
	}
}

void CRecept::Serialize(CArchive& ar)
{
	int i = 0;

	if (ar.IsStoring())
	{	// storing code
		ar << m_sNaslovRecepta;
		ar << m_nVelikostTabele;
		for(i=0; i < m_nVelikostTabele; i++)
		{
			ar << m_pTabelaAkcij[i].nFaza;
			ar << m_pTabelaAkcij[i].nStVsehFaz;
			ar << m_pTabelaAkcij[i].strTrenutnaFaza;
			ar << m_pTabelaAkcij[i].nUpravljaniElement;
			ar << m_pTabelaAkcij[i].nSporocilo;
			ar << m_pTabelaAkcij[i].nParameter;
			ar << m_pTabelaAkcij[i].fParameter;
			ar << m_pTabelaAkcij[i].bParameter;
			ar << m_pTabelaAkcij[i].strDialogTekst;
			ar << m_pTabelaAkcij[i].strStatusBarTekst;
		}
	}
	else
	{	// loading code
		ar >> m_sNaslovRecepta;
		ar >> m_nVelikostTabele;
		m_pTabelaAkcij = new SISAKCIJA[m_nVelikostTabele];
		if(m_pTabelaAkcij != NULL)
		{
			for(i=0; i < m_nVelikostTabele; i++)
			{	
				ar >> m_pTabelaAkcij[i].nFaza;
				ar >> m_pTabelaAkcij[i].nStVsehFaz;
				ar >> m_pTabelaAkcij[i].strTrenutnaFaza;
				ar >> m_pTabelaAkcij[i].nUpravljaniElement;
				ar >> m_pTabelaAkcij[i].nSporocilo;
				ar >> m_pTabelaAkcij[i].nParameter;
				ar >> m_pTabelaAkcij[i].fParameter;
				ar >> m_pTabelaAkcij[i].bParameter;
				ar >> m_pTabelaAkcij[i].strDialogTekst;
				ar >> m_pTabelaAkcij[i].strStatusBarTekst;
			}
		}
		else AfxThrowArchiveException(8);
	}
}


// CBlala
/*** Ta razred ne dela nic, sluzil je le za to, da sem testiral ***/
/*** dodajanje novega razreda v obstojece datoteke ****************/

/*** To so bili nepotrebni includi, ki sem jih izbrisal ***********/

IMPLEMENT_DYNAMIC(CBlala, CWnd)
CBlala::CBlala()
{
}

CBlala::~CBlala()
{
}


BEGIN_MESSAGE_MAP(CBlala, CWnd)
END_MESSAGE_MAP()



// CBlala message handlers

